package com.atguigu.utils;

import com.atguigu.pojo.User;
import org.apache.commons.beanutils.BeanUtils;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

/**
 * @author YAO
 * @create 2021-04-26 18:12
 */
public class WebUtils {

    /**
     * 把Map中的值注入到对应的JavaBean属性中
     * return null表示注入失败
     * @param properties
     * @param clazz
     */
    public static <T> T copyParamToBean(Map properties, Class<T> clazz){
        try {
            T t = clazz.newInstance();
            BeanUtils.populate(t,properties);
            return t;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }


    /**
     * 将字符串转换成为Int类型的数据
     * @param str
     * @param defaultValue
     * @return
     */
    public static int parseInt(String str, int defaultValue){
        try {
            return Integer.parseInt(str);
        } catch (Exception e) {
//            e.printStackTrace();
        }
        return defaultValue;
    }


    /**
     * 传入dataMap数据,msg状态信息,status状态码,返回一个resultMap
     * @param dataMap
     * @param msg
     * @param status
     * @return
     */
    public static Map<String,Object> ToResultMap(Map<String,Object> dataMap,String msg, Integer status){
        //resultMap结果集
        HashMap<String, Object> resultMap = new HashMap<>();
        //metaMap状态集
        HashMap<String, Object> metaMap = new HashMap<>();
        metaMap.put("msg",msg);
        metaMap.put("status",status);

        resultMap.put("data",dataMap);
        resultMap.put("meta",metaMap);
        return resultMap;
    }
}
